/**
 * 彩票号码生成器
 *    双色球(福彩，每注金额2元)：双色球与其名字一样，有红、蓝两种颜色，由33个红球和16个蓝球组成，在购买时要从33个红球中选出6个，从16个蓝球中选出一个组成一组数字，就是一张彩票。与开奖号码相同
 *      一等奖：6个红球和蓝球  => 最少500万
 *      二等奖：6个红球  => 二等奖浮动奖金，最少10万
 *      三等奖：5个红球和1个蓝球  => 3000元
 *      四等奖：5个红球或4个红球加1个蓝球  => 200元
 *      五等奖：4个红球或3个红球加1个蓝球  => 10元
 *      六等奖：只要中了一个蓝球就能得到5元奖金
 * 
 *    大乐透(体彩，每注金额2元)：也是分红、栏两种颜色，由35个红球和12个蓝球，在购买时从35个红球中选出5个，从12个球中选出两个组成一组数字，就是一张彩票，与开奖号码相同(不考虑顺序)
 *      一等奖：5个红球和蓝球  => 最少500万
 *      二等奖：5个红球  => 二等奖浮动奖金，最少10万
 *      三等奖：4个红球和1个蓝球  => 3000元
 *      四等奖：4个红球或3个红球加1个蓝球  => 200元
 *      五等奖：5个红球或2个红球加1个蓝球  => 10元
 *      六等奖：只要中了一个蓝球就能得到5元奖金
 */
const fs = require('fs')
// 生成指定长度的数组数据
function generateArr (len) {
  let tmp = []
  for (let i = 1; i <= len; i++) {
    tmp.push(i)
  }
  return tmp
}


// 获取指定长度不重复的数据
function getNumber (len, arr) {
  let tmp = []
  while (tmp.length < len) {
    let num = arr[Math.floor(Math.random() * arr.length)]
    if (!tmp.includes(num)) {
      tmp.push(num)
    }
  }
  return tmp
}

// 获取当前时间
function getTime () {
  const date = new Date()
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  // date.getDay() 获取周几
  const day = date.getDate()
  const hours = date.getHours()
  const minutes = date.getMinutes()
  const seconds = date.getSeconds()
  return `${year}-${doData(month)}-${doData(day)} ${doData(hours)}:${doData(minutes)}:${doData(seconds)}`
}

// 处理数据
function doData (data) {
  if (data >= 10) {
    return data
  }
  return '0' + data
}


// 生成大乐透彩票
function daletou () {
  let arr35 = generateArr(35)
  let arr12 = generateArr(12)
  // 生成前五位的数字
  let result = '前五位数字:' +  getNumber(5, arr35).sort((a, b) => a - b).map(item => item >= 10 ? item : '0' + item).join(',') +  ' 后两位数字:' + getNumber(2, arr12).sort((a, b) => a - b).map(item => item >= 10 ? item : '0' + item).join(',') + '  ----  '+ getTime() + '\n'
  // 写入文件
  fs.appendFileSync('log.txt', result)
}

// 生成双色球彩票
function shuangseqiu () {
  let arr33 = generateArr(33)
  let arr16 = generateArr(16)
  // 生成前五位的数字
  let result = '前六位数字:' +  getNumber(6, arr33).sort((a, b) => a - b).map(item => item >= 10 ? item : '0' + item).join(',') +  ' 后一位数字:' + getNumber(1, arr16).sort((a, b) => a - b).map(item => item >= 10 ? item : '0' + item).join(',') + '  ----  '+ getTime() + '\n'
  // 写入文件
  fs.appendFileSync('log.txt', result)
}

daletou()
// shuangseqiu()